Method and Arrangement for Reducing the Torque Ripple of a DC Motor

ABSTRACT

The invention relates to a method and to an arrangement for reducing the torque ripple of a brushless DC motor ( 6 ) having a stator, a rotor, and a motor control unit, via which motor control unit the motor is controlled in a polyphase manner, having a data memory ( 1 ) for storing rotational angle-dependent correction data of the control current of the motor ( 6 ), which are impressed on the instantaneous values for controlling the motor. According to the invention, in a first step, for each position of the rotor, the phase currents holding the rotor in this position are determined and are used to derive reference current data, which is stored in a table of the data memory ( 19 ) together with the respective position data of the rotor, determined by the position sensor, and, in a second step, during continuous operation of the motor, the position-dependent reference current data stored in the data memory is combined with the control current of the motor. In a preferred refinement of the invention, the reference current data is conditioned in such a way that both outliers and noise are removed.

The invention relates to a method for reducing the torque ripple of a DC motor according to the generic part of Claim 1 and to an arrangement for controlling a DC motor according to the generic part of Claim 7.

DC motors are used in many technical areas, in particular brushless DC motors, which are constructed in principle as three-phase synchronous machines with excitation by permanent magnets. The rotating magnetic field of the three-phase winding results in them in a movement of the permanently excited rotor. Such a motor displays the behavior of a DC motor by using suitable regulators. Such motors are used in particular in small drives. When using suitable transmissions with a high translation ratio, high torques can be achieved even in small motors, as is especially relevant in the construction of robots.

As a rule, the three-phase winding of such a motor is constructed with three phases.

Torque fluctuations which are quite pronounced in particular in favorable motors are produced by magnetizing processes of the iron-containing stator structure in the coils but also by mechanical inaccuracies such as variable strengths of the magnets, differently shaped windings or imprecisely placed magnets. These fluctuations are disturbing and unsuited if a high precision is required when used in highly precise applications and at small speeds such as occur in the case of robot joints. In order to reduce such torque fluctuations, motors with higher phase numbers can be used; however, this requires a greater complexity and also causes significantly greater expenses.

Another attempt to reduce the torque ripple consists in using rotors without iron and which comprise self-carrying coils. However, the torque ripple can only be reduced but not avoided in this manner.

The regulating of a brushless DC motor can take place by a sensor-controlled commutation which also functions at low speeds or at a standstill of the motor. However, it is also known in the case of higher requirements to use a vector regulation in which the voltages of the rotor phases are adapted to the desired torque.

Systems are also known in which the torque ripple of a motor is regulated electronically in that correction data is impressed on the control current of the motor during its rotation which was determined from mechanical data of the motor and stored in a memory so that it can be superposed on the particular motor current as a function of the position. Such a system is known from DE 39 41 553 A1. In it, several different data sets in the form of tables are stored in a functional memory which are determined from the course of the power and of the torque of the motor and optionally of the connected load and which take into account different influences, wherein the data sets are queried as a function of the position or the time and can be linked with an input magnitude in order to be combined to instantaneous values dependent on the position and the time. The data sets which take into account the course of the power and torque of the motor are determined here by measuring runs for optimization and achieving the given course of the power and torque of a motor on a measuring and testing stand. Alternatively, the data sets can be calculated from a sample of measured parameters and/or characteristic curves.

A similar method is known from EP 564 608 B1. Here too, a memory with a table of values is used which are used to correct the control currents for driving the motor.

EP 1 638 200 B1 describes a method for reducing the torque ripple in a motor in which a voltage difference is determined between the phases of the motor control unit and compensation amplifications for the phases are stored in a memory for the phases as a function of the phase angle so that the amplification of the particular phases can be adjusted in such a manner that the torque ripple is reduced.

The invention has the basic problem of indicating a method for reducing the torque ripple of a brushless DC motor and an arrangement for carrying out such a method with which the torque ripple can be very largely compensated even in motors with a simple construction and disturbances can be compensated in almost every position of rotation of the motor.

The invention starts from a method for reducing the torque ripple of a brushless DC motor with a stator and a rotor by a motor control unit via which the motor is controlled in a polyphase manner, and with a data store for storing correction data of the control current of the motor, which data is dependent on the angle of rotation and which is impressed on the instantaneous values for controlling the motor.

According to the invention in a first step for each position of the rotor phase currents holding a rotor in this position are determined from which reference current data is derived which is stored in the data table together with the particular position data of the motor. In a second step during the running operation of the motor the positionally dependent reference current data stored in the data memory is linked with the control currents of the motor.

Therefore, the invention describes a method for generating correction data which is filed in a memory in order to be able to impress it on the control current of the motor during running operation, as a result of which irregularities of the course of the motor of various types are compensated. In a preferred manner a brushless DC motor is detected to this end at first in its characteristic curve in a test run, wherein disturbances influencing the position of rotation for each individual position of rotation of the rotor are detected which can be, e.g., the ripple on account of the permanent magnetic excitation but also influencing magnitudes of the eccentricity of the rotor, support influences, influences caused by the construction and others. The influencing magnitudes determined in this manner are stored as correction data in an electronic memory depending on the particular rotor position of the motor.

In addition to the substantially static, position-dependent disturbances, the detected correction data can also be supplemented by other correction data which result, e.g. from the dynamic behavior of the motor such as accelerations, speeds, imbalances, frictions, temperatures to the extent that this data can be detected or is already known.

In a second step in which the motor is run in normal operation the correction data is impressed on the control current of the motor so that the latter is influenced at each position of the rotor by the correction data in such a manner that a uniform running of the motor therefore results with a uniform torque.

The correction data of the motor can be determined on a test stand, wherein, based on the simple construction of the evaluation circuit, each individual motor of a series can be measured, which offers special advantages in particular in the case of inexpensive motors with a very simple construction.

However, such a motor can also be measured in the already mounted state, as a result of which during the detection of the disturbances even construction elements connected to the motor, their inclusion, position and other influencing magnitudes can be detected.

The detecting of the position of the rotor comprises every angular position of the rotor so that correction magnitudes can be determined over the entire rotation of the rotor. If the detection of position is additionally or alternatively carried out on a downstream transmission on its output, correction values can also be determined for larger angles of rotation of the motor than 360° so that therefore even a drive chain consisting of motor, transmission and optionally other mechanical elements in the drive train can also be detected.

The method of the invention can be used one time on a “virgin” motor. It is also possible to carry out the method repeatedly as a function of the degree of wear of the motor or of special loads, or to carry out the method prior to the using of an operating run as a “calibration run”.

The controlling of the motor takes place in the test operation as well as in the normal operation preferably via a vector regulation, wherein the control currents of the motor are generated by a performance electronic system as pulse-width-modulated voltages which are derived by an inverse Park transformation from a rotor-related two-phase control current. The phase currents are returned in the feedback circuit via a Park transformation and a Clark transformation onto the control current input. A static, rotor-related 2-phase system can be transformed into a rotating, stator-related 2-phase system by the vector regulation. Three-phase phase currents which drive the motor are generated via a subsequent pulse width modulation and via a performance electronic system. The three-phase control currents are converted back into a rotating two-phase system in the feedback circuit via a Clark transformation and transformed via a Park transformation back into a two-phase system in rotor coordinates so that they can be coupled back as static currents onto the control current. The control current that results to hold the motor in test operation at a certain angular position is stored as a function of the angular position of the motor in an electronic table from which the correction data determined in this manner is superposed during the running operation of the motor on the particular control current.

A further embodiment of the invention can provide that a position predictor regulator is connected in front of the control input by which the position-related impression of the reference current data read out of the data memory onto the control current can be varied as a function of the rotational speed of the rotor.

Based on the finite bandwidth and amplitude of the vector regulator, the correction data filed in the memory can be impressed therewith on the control current at deviating positions as a function of the rotational speed of the rotor so that in this manner speed-dependent errors in the correction method of the invention can be compensated.

During the measuring of the correction data several measured values are recorded for each rotary position of the motor for reasons of accuracy. In particular, a few measured values deviate partially significantly from the actual value due to transient effects of the regulator. In distinction to the case of a simple white noise, the signal cannot be readily used for correction by determining the average value. Therefore, such data is eliminated from the reference current data which exceeds or drops below the given boundary values. An average value curve can then be formed from the remaining correction data whose individual values are stored as position-dependent correction data.

Such a correction signal is sufficient in many instances for compensating the torque ripple; however, an improved method for preparing the correction data is preferred in which, after the removal of data exceeding the given (lower boundaries, the data determined for each individual positional value can be sorted according to their magnitude in such a manner that a median value can be determined from it. A tunnel with a fixed window width is placed around the particular median values relative to the individual rotor positions over the entire 360° angle which tunnel therefore forms a data window which comprises a fixed vertical width whose particular absolute value fluctuates as a function of the particular median value. Now, only that correction data which is located inside the window is used and an average value is formed from it so that correction data is obtained in this manner that is very largely free of outliers, statistical inaccuracies and regulator influences.

The invention also makes it possible, as a function of the operating state of the motor or the load state, to switch between several stored correction curves which are selected as a function of certain parameters, e.g., the load or the speed. The switching between the curves can take place automatically during running operation even during one revolution of the motor or only at certain angular positions.

The arrangement of the invention for controlling a brushless DC motor comprises a position sensor on the motor rotor for detecting the instantaneous relative or absolute position of the rotor. In a test run of the motor the phase currents for controlling the motor are determined in rotational angle-dependent positions and stored as position-related reference current values at first in a data memory. The reference current values can be read out from the data memory during the running operation of the motor and impressed on the control current for controlling the motor.

The arrangement comprises in particular a vector regulation comprising the following: a transformation module (inverse Part transformation) in the forward path of the regulator for converting from a rotor-related 2-phase system into a stator-related 2-phase system a performance electronic system for the three-phase control of the motor, a transformation module (Clark transformation) for converting the phase currents of the rotor back into a stator-related 2-phase system, and a transformation module for converting the stator-related 2-phase system into a rotor-related 2-phase system whose current values are coupled back onto the control current.

The regulator architecture of the vector regulator is preferably designed as a software control which is received in a digital signal processor. Only the performance electronic system and the amplifier circuit for controlling the phase currents of the motor are designed as hardware. The vector regulation uses substantially as such already known transformation modules such as a Park transformation and a Clark transformation. The memory for receiving the correction data is preferably also part of the digital signal processor.

In order to be able to compensate regulator delays and position detection run time influences, a position predictor regulator is preferably used which determines from the rotor speed and the angular resolution of the position sensor during the running operation of the motor a new position value at which the reference current data of the original position are impressed on the control current as a function of the instantaneous speed of the motor. Therefore, exact position-dependent corrections can be carried out even at high motor speeds.

The invention is especially suited for being used in a robot in which a plurality of articulations are driven by brushless DC motors, which require a high precision. Nevertheless, economical motors can be used by the invention. Furthermore, the invention also allows the inclusion of transmissions and other mechanical components into the correction process of the drive motor.

The invention is explained in detail in the following using an exemplary embodiment. In the drawings:

FIG. 1a, b Shows a schematic view of construction-conditioned influence magnitudes on a brushless DC motor on the torque ripple,

FIG. 2 A basic circuit construction of an arrangement for detecting correction data of a brushless DC motor,

FIG. 3 An arrangement for correcting the control current with the aid of correction data read out of a memory,

FIG. 4 A view for explaining a method for improving the determined correction data, and

FIG. 5 A view for explaining a correction of speed-dependent influencing magnitudes in a brushless DC motor.

FIG. 1a shows a basic view of a mechanical equivalent of a brushless DC motor in which a rotor 1 is fastened by springs 2 and 3 to a point of equilibrium. The spring force on the point of equilibrium corresponds substantially to the force attacking this point by the spring 2 minus the spring force of spring 3 based on the deflection of the rotor 1 out of the position of equilibrium.

FIG. 1b shows a corresponding diagram which shows a north pole 4 and a south pole 5 which show the permanent magnetic field in a brushless DC motor. In order to bring a rotor 1 into the position of equilibrium between the permanent magnets, a current is required which is required for compensating the magnetic forces, symbolized by springs 2 and 3.

FIG. 2 shows a control circuit for determining correction data for compensating torque ripples in a brushless DC motor.

A reference current i_(q,ref) is derived from the rotor position of the motor 6 by a PI regulator and which adjusts as guide magnitude the motor 6 by a vector regulator in such a manner that the latter maintains a certain rotational angle position. The guide magnitude is represented in a two-phase, rotor-related coordinate system. The static, rotor-related coordinate system is converted by PI-regulators 11, 12 and a subsequent, inverse Park transformation 7 into a rotating coordinate system with the voltages U_(β) and U_(α). A pulse width modulation and amplification of the rotating 2-phase system takes place in a functional block 8 in a rotating 3-phase system in which the amplifier generates phase currents 13, 14 and 15 for controlling the motor 6. The feedback of the regulating magnitude takes place by a Clark transformation and a Park transformation, wherein in the Clark transformation the rotating phase currents detected in stator coordinates are converted into two-phase, rotating currents and the rotating 2-phase system is converted by the Park transformation into a static, rotor-related 2-phase system. The current data i_(q,ref) detected in this manner is recorded in a data memory 19 relative to the particular rotational angle position of the motor 6.

If the correction data is to be related not only to the rotational angle of the motor 6 but a subsequent transmission is also to be included, the position sensor can also be attached to a subsequent stage so that the entire unit consisting of motor and transmission and optionally of other mechanical components can be used for the detection of correction data so that the correction data refers to the rotational angle position, e.g., the output shaft of a transmission. It is also possible to detect correction data which refers on the one hand to the torque ripple of the rotor and on the other hand detects other disturbances in a transmission connected to the motor, wherein the correction data can be superposed on one another during the running of the motor.

The device according to the invention for reducing the torque ripple uses at least two current sensors which detect the output currents on each phase of the motor unit. A position sensor is required on the motor rotor which determines the relative or absolute rotor position. The current sensors run to a processor whose output is coupled to an amplification stage, wherein the processor supplies a voltage equivalent to the phase currents on each phase of the motor unit. At the same time, the processor comprises the memory, which can read out the compensation currents for reducing the torque ripples. The correction data in the form of current amplitudes for each of the rotor angular positions is added corresponding to an addition factor to the control current for each of the rotor angular positions.

FIG. 3 shows a view corresponding to FIG. 2 in which the correction data i_(q,cog) 21 read out from the memory 19 is superposed on a control current 18 so that a control current i*_(q,ref) which takes into account the correction data is supplied to the regulator. As a result, the motor 6 receives corrected control currents which lead to a compensation of a torque-dependent ripple of the motor drive.

FIG. 4 shows a view for the preparation of the detected correction data. FIG. 4a shows that a plurality of correction data is detected for each angular position of the motor which forms a so-called point cloud 22 for each angle. An average value 23 sorted according to rotational angles can be calculated from these position-dependent point clouds and is shown in FIG. 4b . This average value 23 shows a few outliers that are based, for example, on regulator inaccuracies and transient behaviors. Outliers of the type shown in FIG. 4b can be removed from the particular point clouds by a suitable limitation circuit. The amplitudes of the detected correction values, which amplitudes are improved with the above, are then sorted at first according to their size and the particular median value of the data is determined. An envelope is now determined according to FIG. 4c relative to these median values along the entire 360° circumference which envelope forms a fixed tunnel (24) for the particular median values. In this manner data values based, for example, on noise or other irregularities can be excluded from the correction data. An average value is now formed from the data values located inside the tunnel which value forms a position-related curve 25 of the correction data as is shown in FIG. 4d . This data is filed in the memory and used during the running of the motor in normal operation to correct the guidance magnitude.

With the aid of this method a simple but precise preparation of data can take place without filter functions which would require an expensive signal processing being necessary. A substantially smooth compensation signal 25 that is available during operation of the motor for the compensation of the torque ripples is available as a result.

When using a position predictor regulator, the correction data can also be supplied to the control current of the motor at a time which deviates from the actual regulating position of the motor. This makes it possible to vary the particular time of the application of the correction data as a function of the motor speed in order to compensate in this manner differences of run time of the regulator used and other speed-dependent control magnitudes.

FIG. 5 shows several curves at different speeds of rotation of a motor in which the particular curved curves 26 display a remaining torque ripple at rather high speeds whereas the particular substantially straight-lined curves 27 show the state when a position predictor regulator is used which makes possible a shifting of the correction data.

The calculation of the shift takes place by determining the rotor frequency of the angle traversed in a calculating step, taking into account the sensor resolution. This allows a new position for applying the correction signal to be determined. In another embodiment of the method it is also possible to perform a shifting of the position not only upon the receiving of a constant speed of the motor but also as a function of speed changes, i.e. an acceleration or a braking.

In the method for detecting the rotor-/sensor positions the accuracy of the detection also depends of the resolution of the position sensor. Therefore, the resolution should be so high that in addition to the disturbances conditioned by the construction based on the torque ripple caused by the magnets, even other influencing magnitudes such disturbances from the mounting, etc. can be compensated.

REFERENCE NUMERALS

-   1 rotor -   2 spring -   3 spring -   4 magnet (north) -   5 magnet (south) -   6 motor -   7 inverse Park transmission module -   8 pulse width module and inverter -   9 Clark transmission module -   10 Park transmission module -   11. PI regulator -   12. PI regulator -   13 phase current i_(c) -   14 phase current i_(b) -   15 phase current i_(a) -   16 PI regulator -   17 current i_(d) -   18 reference current i_(q,ref) -   19 memory -   20 corrected current i_(q*,ref) -   21 correction data i_(q,cog) -   22 point cloud -   23 average value -   24 tunnel -   25 reference current value -   26 curved curve -   27 straight-line curve 

1. A method for reducing the torque ripple of a brushless DC motor with a stator, a rotor and a motor control unit by which the motor is controlled in a polyphase manner, with a data memory for storing correction data of the control current of the motor, which data is a function of the angle of rotation, in which correction data is impressed on the instantaneous values for controlling the motor, wherein in a first step for each position of the rotor phase, currents holding the rotor in this position are determined from which reference current data is derived which is stored in a table of the data memory together with the particular position data of the rotor which is determined by a position sensor, and in a second step during the running operation of the motor the position-dependent reference current data filed in the data memory is linked with the control current of the motor in such a manner that the original torque ripple of the motor is canceled or reduced.
 2. The method according to claim 1, wherein the motor is a brushless DC motor which is controlled by a vector regulation, wherein the phase currents of the motor are generated by a performance electronic system as pulse-width-modulated voltages which are derived by an inverted Park transformation from a two-phase control current, and wherein the phase currents are returned in a feedback circuit via a Clark transformation and a Park transformation to the control current.
 3. The method according to claim 2, wherein a position predictor regulator is provided by which the position-related impression of the reference current data read out of the data memory onto the control current is enabled to be varied as a function of the rotational speed of the rotor.
 4. The method according to claim 1, wherein such data from the reference current data determined at each rotor position is eliminated which exceeds or drops below the given boundary limits.
 5. The method according to claim 4, wherein the reference current data is supported according to its median values, a tunnel is formed around the determined median values over the entire detected range of rotational angles which runs at a fixed distance around the position-related median values, that an average value is calculated from the reference current data located within the envelope, and the values determined in this manner are stored as cleaned reference current values in the memory.
 6. The method according to claim 1, wherein the brushless DC motor is used in articulations of a robot for compensating a torque ripple.
 7. An arrangement for controlling a brushless DC motor for detecting and compensating a torque ripple of the motor with a stator and a rotor by a motor control unit with which the motor can be controlled in a polyphase manner, with a position sensor on the motor rotor for detecting the instantaneous relative or absolute position of the rotor, and with a data memory for storing rotational angle-dependent correction data of the control current of the motor which can be impressed on the instantaneous values for controlling the motor, wherein at least two current sensors are provided for detecting the phase currents of the rotor, the phase currents for controlling the motor can be determined in rotational angle-dependent positions of the rotor and can be stored as position-related reference current values in the data memory, and the reference current values can be read out from the data memory in the running operation of the motor and can be impressed on the control current for controlling the motor.
 8. The arrangement according to claim 7, wherein the motor control unit comprises a vector regulation which comprises the following: a transmission module for converting the control current from a static 2-phase system to a rotating 2-phase system, a performance electronic system for the three-phase control of the rotor, a transformation module for converting the phase currents of the rotor into a rotating 2-phase system, and a transformation module for converting the rotating 2-phase system into a static 2-phase system whose current values are coupled back onto the control current.
 9. The arrangement according to claim 8, wherein the performance electronic system comprises a module for the pulse width modulation and a circuit for amplifying the phase voltages of the rotor.
 10. The arrangement according to claim 8, wherein the control current is guided via a position predictor regulator which determines a new position value from the rotor speed and the angular resolution of the position sensor, at which position value the reference current data of the original position is impressed during the running operation of the motor on the control current at a new position as a function of the instantaneous speed of the motor.
 11. The arrangement according to claim 6, wherein the detection of the correction data takes place on a brushless DC motor to which a transmission is connected downstream and which is used in an articulation of a robot, wherein the correction data is detected as a function of the position of the motor and/or of the position of a transmission or other drive unit connected in downstream from the motor. 